package com.tbit.uqbike.service.business;

import com.tbit.common.entity.view.Result;
import com.tbit.uqbike.object.pojo.FeeAppeal;
import com.tbit.uqbike.object.pojo.MachineRideLog;
import com.tbit.uqbike.object.pojo.vo.FeeAppealInfoVO;
import com.tbit.uqbike.object.value.LoginInfo;

import java.text.ParseException;
import java.util.List;

/**
 * @Author HZW
 * @ClassName OrderFeeAppealService
 * @Description 订单费用申诉service层
 * @date 2021/12/20 11:22
 * @Version 1.0
 */
public interface OrderFeeAppealService {
    /**
     * 获取订单申诉详情
     */
    List<FeeAppeal> getInfo(FeeAppeal feeAppeal);

    /**
     * 回复订单申诉
     */
    Boolean handle(FeeAppeal feeAppeal, LoginInfo login) throws ParseException;

    /**
     * 根据订单编号查询订单详情
     *
     * @param orderNo 订单编号
     * @return 订单详情
     */
    Result<MachineRideLog> queryOrderInfoByOrderNo(String orderNo);

    /**
     * @description: 查询总数
     * @author: mo.shanyong
     * @date: 2024/11/28 17:03
     * @return: int
     */
    int getBigExcelCount(FeeAppeal feeAppeal);

    /**
     * @description: 大数据量导出
     * @author: mo.shanyong
     * @date: 2024/11/28 17:05
     * @param: feeAppeal
     */
    Result bigExcelInfo(FeeAppeal feeAppeal);

    /**
     * 根据用户id查询申诉统计信息
     *
     * @param userId 用户id
     */
    FeeAppealInfoVO getAppealStats(Integer userId);
}
